package com.ruoyi.drinkshop.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单对象 shop_order_info
 * 
 * @author hongly
 * @date 2024-12-05
 */
public class OrderInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Integer id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String wxOpenid;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String orderStatus;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String payjsOrderId;

    /** 微信支付系统生成的订单号 */
    @Excel(name = "微信支付系统生成的订单号")
    private String wxPayTransactionId;

    /** 取餐方式 */
    @Excel(name = "取餐方式")
    private String takeType;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String addressDetail;

    /** 商品信息eg: 奶茶*2 */
    @Excel(name = "商品信息eg: 奶茶*2")
    private String goodsPreview;

    /** 商品总数 */
    @Excel(name = "商品总数")
    private Long goodsTotalNum;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Integer totalPrice;

    /** 支付金额 */
    @Excel(name = "支付金额")
    private Integer payPrice;

    /** 取单号，一般取手机尾号 */
    @Excel(name = "取单号，一般取手机尾号")
    private Long verifyNum;

    /** 用户备注、订单取消原因、或其他额外信息 */
    @Excel(name = "用户备注、订单取消原因、或其他额外信息")
    private String extraInfo;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 订单完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "订单完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;

    /** 用户联系电话 */
    @Excel(name = "用户联系电话")
    private String userPhone;

    /** 取餐人 */
    @Excel(name = "取餐人")
    private String receiver;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }
    public void setWxOpenid(String wxOpenid) 
    {
        this.wxOpenid = wxOpenid;
    }

    public String getWxOpenid() 
    {
        return wxOpenid;
    }
    public void setOrderStatus(String orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus() 
    {
        return orderStatus;
    }
    public void setPayjsOrderId(String payjsOrderId) 
    {
        this.payjsOrderId = payjsOrderId;
    }

    public String getPayjsOrderId() 
    {
        return payjsOrderId;
    }
    public void setWxPayTransactionId(String wxPayTransactionId) 
    {
        this.wxPayTransactionId = wxPayTransactionId;
    }

    public String getWxPayTransactionId() 
    {
        return wxPayTransactionId;
    }
    public void setTakeType(String takeType) 
    {
        this.takeType = takeType;
    }

    public String getTakeType() 
    {
        return takeType;
    }
    public void setAddressDetail(String addressDetail) 
    {
        this.addressDetail = addressDetail;
    }

    public String getAddressDetail() 
    {
        return addressDetail;
    }
    public void setGoodsPreview(String goodsPreview) 
    {
        this.goodsPreview = goodsPreview;
    }

    public String getGoodsPreview() 
    {
        return goodsPreview;
    }
    public void setGoodsTotalNum(Long goodsTotalNum) 
    {
        this.goodsTotalNum = goodsTotalNum;
    }

    public Long getGoodsTotalNum() 
    {
        return goodsTotalNum;
    }
    public void setTotalPrice(Integer totalPrice) 
    {
        this.totalPrice = totalPrice;
    }

    public Integer getTotalPrice() 
    {
        return totalPrice;
    }
    public void setPayPrice(Integer payPrice) 
    {
        this.payPrice = payPrice;
    }

    public Integer getPayPrice() 
    {
        return payPrice;
    }
    public void setVerifyNum(Long verifyNum) 
    {
        this.verifyNum = verifyNum;
    }

    public Long getVerifyNum() 
    {
        return verifyNum;
    }
    public void setExtraInfo(String extraInfo) 
    {
        this.extraInfo = extraInfo;
    }

    public String getExtraInfo() 
    {
        return extraInfo;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setFinishTime(Date finishTime) 
    {
        this.finishTime = finishTime;
    }

    public Date getFinishTime() 
    {
        return finishTime;
    }
    public void setUserPhone(String userPhone) 
    {
        this.userPhone = userPhone;
    }

    public String getUserPhone() 
    {
        return userPhone;
    }
    public void setReceiver(String receiver) 
    {
        this.receiver = receiver;
    }

    public String getReceiver() 
    {
        return receiver;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderNo", getOrderNo())
            .append("wxOpenid", getWxOpenid())
            .append("orderStatus", getOrderStatus())
            .append("payjsOrderId", getPayjsOrderId())
            .append("wxPayTransactionId", getWxPayTransactionId())
            .append("takeType", getTakeType())
            .append("addressDetail", getAddressDetail())
            .append("goodsPreview", getGoodsPreview())
            .append("goodsTotalNum", getGoodsTotalNum())
            .append("totalPrice", getTotalPrice())
            .append("payPrice", getPayPrice())
            .append("verifyNum", getVerifyNum())
            .append("extraInfo", getExtraInfo())
            .append("createTime", getCreateTime())
            .append("payTime", getPayTime())
            .append("finishTime", getFinishTime())
            .append("userPhone", getUserPhone())
            .append("receiver", getReceiver())
            .toString();
    }
}
